home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / UTILITY1 / MSWSRC35.ZIP / CLASS.H < prev    next >
C/C++ Source or Header  |  1993-10-07  |  13KB  |  515 lines

  1. typedef struct
  2.    {
  3.    POINT from;
  4.    POINT to;
  5.    } LINEX;
  6.  
  7. typedef struct
  8.    {
  9.    HBITMAP CutMemoryBitMap; /* Used to store cut and paste */
  10.    int CutHeight;           /* current cut height */
  11.    int CutWidth;            /* current cut width */
  12.    long CutFlag;            /* flag to signal something in cut buffer */
  13.    } CUTMAP;
  14.  
  15. class TMyFileWindow : public TxFileWindow
  16.    {
  17.    NODE *args_list;
  18.  
  19.    public:
  20.    HGLOBAL hEditHeap;
  21.  
  22.    TMyFileWindow(PTWindowsObject, LPSTR, LPSTR, NODE *);
  23.    ~TMyFileWindow();
  24.  
  25.    virtual BOOL CanClose();
  26.    virtual void DefWndProc(RTMessage Msg);
  27.    virtual void ContextHelp();
  28.  
  29.    virtual void CMExit(RTMessage Msg)
  30.    = [CM_FIRST + CM_EXIT];
  31.    virtual void CMHelpEdit(RTMessage Msg)
  32.    = [CM_FIRST + CM_HELPEDIT];
  33.    virtual void CMHelpEditTopic(RTMessage Msg)
  34.    = [CM_FIRST + CM_HELPEDIT_TOPIC];
  35.    virtual void CMTest(RTMessage Msg)
  36.    = [CM_FIRST + CM_TEST];
  37.    };
  38.  
  39. class TMyEditboxWindow : public TEdit
  40.    {
  41.    public:
  42.    TMyEditboxWindow(PTWindowsObject, int, WORD);
  43.    ~TMyEditboxWindow();
  44.  
  45.    virtual void WMKeyDown(RTMessage Msg)
  46.    = [WM_FIRST + WM_KEYDOWN];
  47.    virtual void WMGetDlgCode(RTMessage Msg)
  48.    = [WM_FIRST + WM_GETDLGCODE];
  49.    };
  50.  
  51. class TMyListboxWindow : public TListBox
  52.    {
  53.    public:
  54.    TMyListboxWindow(PTWindowsObject, int);
  55.    ~TMyListboxWindow();
  56.  
  57.    virtual void WMKeyDown(RTMessage Msg)
  58.    = [WM_FIRST + WM_KEYDOWN];
  59.    virtual void WMGetDlgCode(RTMessage Msg)
  60.    = [WM_FIRST + WM_GETDLGCODE];
  61.    };
  62.  
  63. class TMyCommandWindow : public TDialog
  64.    {
  65.    public:
  66.    TMyCommandWindow(PTWindowsObject, LPSTR);
  67.    ~TMyCommandWindow();
  68.    
  69.    virtual void GetWindowClass(WNDCLASS& WndClass);
  70.    virtual void DefWndProc(RTMessage Msg);
  71.    
  72.    virtual void WMSize(RTMessage Msg)
  73.    = [WM_FIRST + WM_SIZE];
  74.    virtual void DoListBox(RTMessage Msg)
  75.    = [ID_FIRST + ID_LISTBOX];
  76.    virtual void DoEditBox(RTMessage Msg)
  77.    = [ID_FIRST + ID_EDITINPUT];
  78.    virtual void DoButtonExecute(RTMessage Msg)
  79.    = [ID_FIRST + ID_EXECUTE];
  80.    virtual void DoButtonHalt(RTMessage Msg)
  81.    = [ID_FIRST + ID_HALT];
  82.    virtual void DoButtonStatus(RTMessage Msg)
  83.    = [ID_FIRST + ID_STATUS];
  84.    virtual void DoButtonYield(RTMessage Msg)
  85.    = [ID_FIRST + ID_YIELD];
  86.    virtual void DoButtonPause(RTMessage Msg)
  87.    = [ID_FIRST + ID_PAUSE];
  88.    virtual void DoButtonTrace(RTMessage Msg)
  89.    = [ID_FIRST + ID_TRACE];
  90.    virtual void DoButtonReset(RTMessage Msg)
  91.    = [ID_FIRST + ID_RESET];
  92.    };
  93.  
  94. class TMyStatusWindow : public TDialog
  95.    {
  96.    public:
  97.    TMyStatusWindow(PTWindowsObject, LPSTR);
  98.    ~TMyStatusWindow();
  99.    };
  100.  
  101. class TMyPrinterAreaWindow : public TDialog
  102.    {
  103.    public:
  104.    TMyPrinterAreaWindow(PTWindowsObject, LPSTR);
  105.    ~TMyPrinterAreaWindow();
  106.    
  107.    virtual void WMInitDialog(RTMessage Msg)
  108.    = [WM_FIRST + WM_INITDIALOG];
  109.    
  110.    virtual void DoXLow(RTMessage Msg)
  111.    = [ID_FIRST + ID_XLOW];
  112.    virtual void DoXHigh(RTMessage Msg)
  113.    = [ID_FIRST + ID_XHIGH];
  114.    virtual void DoYLow(RTMessage Msg)
  115.    = [ID_FIRST + ID_YLOW];
  116.    virtual void DoYHigh(RTMessage Msg)
  117.    = [ID_FIRST + ID_YHIGH];
  118.    virtual void DoFullImage(RTMessage Msg)
  119.    = [ID_FIRST + ID_FULLIMAGE];
  120.    virtual void DoCustomImage(RTMessage Msg)
  121.    = [ID_FIRST + ID_CUSTOMIMAGE];
  122.    };
  123.  
  124. class TMyFileEditWindow : public TDialog
  125.    {
  126.    public:
  127.  
  128.    int FileEditAll;
  129.  
  130.    TMyFileEditWindow(PTWindowsObject, LPSTR);
  131.    ~TMyFileEditWindow();
  132.    
  133.    virtual BOOL CanClose();
  134. //   virtual void DefWndProc(RTMessage Msg);
  135.  
  136.    virtual void WMInitDialog(RTMessage Msg)
  137.    = [WM_FIRST + WM_INITDIALOG];
  138.    virtual void DoAll(RTMessage Msg)
  139.    = [ID_FIRST + ID_FILEEDITALL];
  140.    virtual void DoCombo(RTMessage Msg)
  141.    = [ID_FIRST + ID_FILEEDITCOMBO];
  142.    };
  143.  
  144. class TMyApp : public TApplication
  145.    {
  146.    public:
  147.    HDC TempDC;
  148.    RECT RR;
  149.    
  150.    TMyApp(LPSTR AName, HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
  151.    : TApplication(AName, hInstance, hPrevInstance, lpCmdLine, nCmdShow) {};
  152.    virtual void InitMainWindow();
  153.    virtual void InitInstance();
  154.    virtual void IdleAction();
  155.    virtual BOOL TMyApp::ProcessAppMsg(LPMSG msg);
  156.    };
  157.  
  158. _CLASSDEF(TMyWindow)
  159. class TMyWindow : public TWindow
  160.    {
  161.    public:
  162.    PTPrinter Printer;    // Pointer to a TPrinter object
  163.    //   HBITMAP BitmapHandle;
  164.    
  165.    WORD bitCount;
  166.    WORD size;
  167.    BITMAPINFO *BitmapInfo;
  168.    
  169.    TMyFileWindow *EditWindow;
  170.    PTDialog CommandWindow;
  171.    TMyEditboxWindow *EditboxWindow;
  172.    TMyListboxWindow *ListboxWindow;
  173.    PTDialog StatusWindow;
  174.    PTDialog PrinterAreaWindow;
  175.    HICON HIcon;
  176.    TMyFileEditWindow *FileEditWindow;
  177.    DLGPROC lpProcAbout;
  178.    HDC ScreenDC;
  179.    HDC MemDC;
  180.    HDC PrintMemDC;
  181.    RECT R;
  182.    RECT RR;
  183.    long ii;
  184.    int PenSize;
  185.    char FileName[MAXPATH];
  186.    char BitmapName[MAXPATH];
  187.    BOOL IsNewFile;
  188.    BOOL IsNewBitmap;
  189.    TMyWindow(PTWindowsObject AParent, LPSTR ATitle);
  190.    ~TMyWindow();
  191.    
  192.    void MyPopupEdit(char *FileName,NODE *args);
  193.    void MyPopupCommander();
  194.    void MyPopupStatus();
  195.    void MyPopupStatusKill();
  196.    int MyPopupInput(char *str,char *pmt);
  197.    
  198.    BOOL LoadBitmapFile(LPSTR);
  199.    BOOL OpenDIB(int);
  200.    void GetBitmapData(int TheFile, HANDLE, long);
  201.    
  202.    BOOL DumpBitmapFile(LPSTR);
  203.    BOOL WriteDIB(int TheFile);
  204.    void PutBitmapData(int TheFile, HANDLE, long);
  205.    
  206.    virtual BOOL CanClose();
  207.    virtual void GetWindowClass(WNDCLASS& WndClass);
  208.    virtual void Paint(HDC DC, PAINTSTRUCT& PS);
  209.    virtual void Printit(HDC DC);
  210.    virtual void SaveFile();
  211.    virtual void SaveFileAs();
  212.    virtual void SaveBitmap();
  213.    virtual void SaveBitmapAs();
  214.    virtual void SetupWindow();
  215.  
  216.    virtual void WMKeyDown(RTMessage Msg)
  217.    = [WM_FIRST + WM_KEYDOWN];
  218.    virtual void WMKeyUp(RTMessage Msg)
  219.    = [WM_FIRST + WM_KEYUP];
  220.    virtual void WMChar(RTMessage Msg)
  221.    = [WM_FIRST + WM_CHAR];
  222.    virtual void WMGetDlgCode(RTMessage Msg)
  223.    = [WM_FIRST + WM_GETDLGCODE];
  224.    virtual void WMLButtonDown(RTMessage Msg)
  225.    = [WM_FIRST + WM_LBUTTONDOWN];
  226.    virtual void WMLButtonUp(RTMessage Msg)
  227.    = [WM_FIRST + WM_LBUTTONUP];
  228.    virtual void WMRButtonDown(RTMessage Msg)
  229.    = [WM_FIRST + WM_RBUTTONDOWN];
  230.    virtual void WMRButtonUp(RTMessage Msg)
  231.    = [WM_FIRST + WM_RBUTTONUP];
  232.    virtual void WMMouseMove(RTMessage Msg)
  233.    = [WM_FIRST + WM_MOUSEMOVE];
  234.  
  235. #ifdef ISWIN31
  236.    virtual void MMMCINotify(RTMessage Msg)
  237.    = [WM_FIRST + MM_MCINOTIFY];
  238. #endif
  239.    virtual void WMTIMER(RTMessage Msg)
  240.    = [WM_FIRST + WM_TIMER];
  241.  
  242.    virtual void CMFileNew(RTMessage Msg)
  243.    = [CM_FIRST + CM_FILENEW];
  244.    virtual void CMFileOpen(RTMessage Msg)
  245.    = [CM_FIRST + CM_FILEOPEN];
  246.    virtual void CMFileSave(RTMessage Msg)
  247.    = [CM_FIRST + CM_FILESAVE];
  248.    virtual void CMFileSaveAs(RTMessage Msg)
  249.    = [CM_FIRST + CM_FILESAVEAS];
  250.    virtual void CMFileEdit(RTMessage Msg)
  251.    = [CM_FIRST + CM_FILEEDIT];
  252.    virtual void CMFileErase(RTMessage Msg)
  253.    = [CM_FIRST + CM_FILEERASE];
  254.    virtual void CMExit(RTMessage Msg)
  255.    = [CM_FIRST + CM_EXIT];
  256.  
  257.    virtual void CMBitmapNew(RTMessage Msg)
  258.    = [CM_FIRST + CM_BITMAPNEW];
  259.    virtual void CMBitmapOpen(RTMessage Msg)
  260.    = [CM_FIRST + CM_BITMAPOPEN];
  261.    virtual void CMBitmapSave(RTMessage Msg)
  262.    = [CM_FIRST + CM_BITMAPSAVE];
  263.    virtual void CMBitmapSaveAs(RTMessage Msg)
  264.    = [CM_FIRST + CM_BITMAPSAVEAS];
  265.    virtual void CMBitmapPrint(RTMessage Msg)
  266.    = [CM_FIRST + CM_BITMAPPRINT];
  267.    virtual void CMBitmapPrinterSetup(RTMessage Msg)
  268.    = [CM_FIRST + CM_BITMAPPRINTERSETUP];
  269.    virtual void CMBitmapPrinterArea(RTMessage Msg)
  270.    = [CM_FIRST + CM_BITMAPPRINTERAREA];
  271.  
  272.    virtual void CMHelp(RTMessage Msg)
  273.    = [CM_FIRST + CM_HELP];
  274.    virtual void CMHelpMCI(RTMessage Msg)
  275.    = [CM_FIRST + CM_HELP_MCI];
  276.    virtual void CMHelpHelp(RTMessage Msg)
  277.    = [CM_FIRST + CM_HELP_HELP];
  278.    virtual void CMHelpAbout(RTMessage Msg)
  279.    = [CM_FIRST + CM_ABOUT];
  280.  
  281.    virtual void CMControlHalt(RTMessage Msg)
  282.    = [CM_FIRST + CM_CONTROLHALT];
  283.    virtual void CMControlExecute(RTMessage Msg)
  284.    = [CM_FIRST + CM_CONTROLEXECUTE];
  285.